﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;

namespace Loki.Model
{
	public class LinkContainerConfiguration<TLinkKey>
	{
		public string LoadingErrorCode
		{
			get;
			set;
		}

		public Expression<Func<TLinkKey, IEnumerable<IEntityLink<TLinkKey>>>> LeftLoader
		{
			get;
			set;
		}

		public Expression<Func<TLinkKey, IEnumerable<IEntityLink<TLinkKey>>>> RightLoader
		{
			get;
			set;
		}

		public Expression<Func<IEnumerable<IEntityLink<TLinkKey>>>> FullLoader
		{
			get;
			set;
		}

		public Action<IEntityLink<TLinkKey>> PostUpdate
		{
			get;
			set;
		}

		public Action<IEntityLink<TLinkKey>> PreUpdate
		{
			get;
			set;
		}
	}
}
